# -*- coding: utf-8 -*-
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save

class Calendrier(models.Model):
	"""Calendrier model"""
	nom  = models.CharField('nom', max_length=50, help_text='nom du calendrier')
	slug = models.SlugField('slug', unique=True)

	def __unicode__(self):
		return self.nom

	association = models.ForeignKey('Association')

	class Meta:
		verbose_name = 'calendrier'
		ordering     = ['nom']

class Evenement(models.Model):
	"""Evènement model"""
	titre             = models.CharField('titre', max_length=100, help_text="titre de l'evènement")
	description       = models.TextField('description', help_text="description de l'évènement", blank=True)
	debut             = models.DateTimeField('debut', help_text='date et heure de début')
	fin               = models.DateTimeField('fin', help_text='date et heure de fin')
	publie            = models.BooleanField('Publié ?', default=False, blank=True, help_text="cocher pour publier l'evènement")
	date_creation     = models.DateTimeField('Date création')
	date_modification = models.DateTimeField('Date modification', null=True)
	user_creation     = models.ForeignKey(User, related_name='evenement_cree')
	user_modification = models.ForeignKey(User, null=True, related_name='evenement_modifie')
	
	calendrier        = models.ForeignKey('Calendrier')

	def __unicode__(self):
		return self.titre

	class Meta:
		verbose_name = 'evènement'
		ordering = ['debut', 'fin']

class Actualite(models.Model):
	"""Actualité modèle"""
	titre             = models.CharField('titre', max_length=100, help_text="titre de l'actualité")
	contenu           = models.TextField('contenu', help_text="contenu de l'actualité")
	publie            = models.BooleanField('publié ?', default=False, blank=True, help_text="cocher pour publier l'actualité")
	date_creation     = models.DateTimeField('date création')
	date_modification = models.DateTimeField('date modification', null=True)
	user_creation     = models.ForeignKey(User, related_name='actualite_cree')
	user_modification = models.ForeignKey(User, related_name='actualite_modifie', null=True)
	
	association       = models.ForeignKey('Association')

	def __unicode__(self):
		return self.titre

	class Meta:
		verbose_name ='Actualité'
		ordering     = ['-date_modification', '-date_creation']

class Association(models.Model):
	"""Association model"""
	nom          = models.CharField('nom', max_length=200, help_text='Le nom de votre association')
	slug         = models.SlugField('slug', unique=True)
	adresse      = models.CharField('adresse', max_length=200, help_text='Adresse : rue')
	cplt_adresse = models.CharField("complément d'adresse", blank=True ,max_length=200, help_text="Adresse: complément d'adresse")
	code_postal  = models.CharField('code postal', max_length=5, help_text='Adresse : code postal')
	ville        = models.CharField('ville', max_length=100, help_text='Adresse : ville')
	telephone    = models.CharField('téléphone', max_length=50, help_text='téléphone')
	email        = models.EmailField('email', max_length=254, help_text='courriel')
	url          = models.URLField('site internet', blank=True, help_text="l'adresse du site internet de votre association")
	users        = models.ManyToManyField(User, null=True, blank=True, verbose_name='utilisateurs')

	def __unicode__(self):
		return self.nom

	class Meta:
		verbose_name = 'association'
		ordering     = ['nom']

